今回は以下のような問題を解いてみます。
![](https://www.xn--4grr4jzer0z13b8ydc6hw8c14slx0cfdtdwftp3d.website/wp-content/uploads/2024/02/スクリーンショット-2024-02-02-11.05.30-1024x374.png)
解き方
※この記事では掛ける演算子にアスタリスク(*)を使用します。
解答群にある2Xを紐解く
問題文には次のように書かれています。
2桁の2進数x1、x2が表す整数をXとする。これを式に変えてみます。
2x1 + x2 = X
これは2進数(x1x2)を10進数(X)で書き換えている式です。例えば10という2進数を10進数で書き換えると2になりますね。
10 = 2 + 0 = 2
そして解答群にある2Xを前述の式に当てはめると以下のようになります。
4x1 + 2x2 = 2X
int部分を紐解く
次にint部分を紐解きます。問題文には「int(r)は非負の実数rの小数点以下を切り捨てた整数」とあります。つまり
int(1.2)=1
ということになりますね。
ここまでが前提となります。
具体例を考えてみる
こういった数学の問題は具体的な例を考えてみるのが王道です。
x1 = 1、x2 = 0として考えてみましょう。
上記条件ならx1x2は2進数で書くと10、10進数で書くと2になります。
x2x1は2進数なら01、10進数なら1ですね。
この時Xは2になりますからint(x/2) = int(2/2) = 1となります。
これを解答群に当てはめていきます。
ア 4 + 4 = 8
イ 4 + 5 = 9
ウ 4 ー 3 = 1
エ 4 ー 4 = 0
となりウが正解とわかります。
コメントを残す